/*
 * Copyright 2020 HPB Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.hpb.bc.entity;

import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public class HpbCampaignPeriodVoteRecord extends BaseEntity {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.id
     *
     * @mbg.generated
     */
    private String id;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.address
     *
     * @mbg.generated
     */
    private String address;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.vote_round
     *
     * @mbg.generated
     */
    private Integer voteRound;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.vote_round_description
     *
     * @mbg.generated
     */
    private String voteRoundDescription;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.vote_stage
     *
     * @mbg.generated
     */
    private Integer voteStage;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.vote_stage_description
     *
     * @mbg.generated
     */
    private String voteStageDescription;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.snap_block_number
     *
     * @mbg.generated
     */
    private Long snapBlockNumber;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.snap_block_timestamp
     *
     * @mbg.generated
     */
    private Long snapBlockTimestamp;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.vote_total_amount
     *
     * @mbg.generated
     */
    private String voteTotalAmount;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.create_timestamp
     *
     * @mbg.generated
     */
    private Date createTimestamp;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column hpb_campaign_period_vote_record.update_timestamp
     *
     * @mbg.generated
     */
    private Date updateTimestamp;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.id
     *
     * @return the value of hpb_campaign_period_vote_record.id
     * @mbg.generated
     */
    public String getId() {
        return id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.id
     *
     * @param id the value for hpb_campaign_period_vote_record.id
     * @mbg.generated
     */
    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.address
     *
     * @return the value of hpb_campaign_period_vote_record.address
     * @mbg.generated
     */
    public String getAddress() {
        return address;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.address
     *
     * @param address the value for hpb_campaign_period_vote_record.address
     * @mbg.generated
     */
    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.vote_round
     *
     * @return the value of hpb_campaign_period_vote_record.vote_round
     * @mbg.generated
     */
    public Integer getVoteRound() {
        return voteRound;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.vote_round
     *
     * @param voteRound the value for hpb_campaign_period_vote_record.vote_round
     * @mbg.generated
     */
    public void setVoteRound(Integer voteRound) {
        this.voteRound = voteRound;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.vote_round_description
     *
     * @return the value of hpb_campaign_period_vote_record.vote_round_description
     * @mbg.generated
     */
    public String getVoteRoundDescription() {
        return voteRoundDescription;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.vote_round_description
     *
     * @param voteRoundDescription the value for hpb_campaign_period_vote_record.vote_round_description
     * @mbg.generated
     */
    public void setVoteRoundDescription(String voteRoundDescription) {
        this.voteRoundDescription = voteRoundDescription == null ? null : voteRoundDescription.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.vote_stage
     *
     * @return the value of hpb_campaign_period_vote_record.vote_stage
     * @mbg.generated
     */
    public Integer getVoteStage() {
        return voteStage;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.vote_stage
     *
     * @param voteStage the value for hpb_campaign_period_vote_record.vote_stage
     * @mbg.generated
     */
    public void setVoteStage(Integer voteStage) {
        this.voteStage = voteStage;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.vote_stage_description
     *
     * @return the value of hpb_campaign_period_vote_record.vote_stage_description
     * @mbg.generated
     */
    public String getVoteStageDescription() {
        return voteStageDescription;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.vote_stage_description
     *
     * @param voteStageDescription the value for hpb_campaign_period_vote_record.vote_stage_description
     * @mbg.generated
     */
    public void setVoteStageDescription(String voteStageDescription) {
        this.voteStageDescription = voteStageDescription == null ? null : voteStageDescription.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.snap_block_number
     *
     * @return the value of hpb_campaign_period_vote_record.snap_block_number
     * @mbg.generated
     */
    public Long getSnapBlockNumber() {
        return snapBlockNumber;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.snap_block_number
     *
     * @param snapBlockNumber the value for hpb_campaign_period_vote_record.snap_block_number
     * @mbg.generated
     */
    public void setSnapBlockNumber(Long snapBlockNumber) {
        this.snapBlockNumber = snapBlockNumber;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.snap_block_timestamp
     *
     * @return the value of hpb_campaign_period_vote_record.snap_block_timestamp
     * @mbg.generated
     */
    public Long getSnapBlockTimestamp() {
        return snapBlockTimestamp;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.snap_block_timestamp
     *
     * @param snapBlockTimestamp the value for hpb_campaign_period_vote_record.snap_block_timestamp
     * @mbg.generated
     */
    public void setSnapBlockTimestamp(Long snapBlockTimestamp) {
        this.snapBlockTimestamp = snapBlockTimestamp;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.vote_total_amount
     *
     * @return the value of hpb_campaign_period_vote_record.vote_total_amount
     * @mbg.generated
     */
    public String getVoteTotalAmount() {
        return voteTotalAmount;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.vote_total_amount
     *
     * @param voteTotalAmount the value for hpb_campaign_period_vote_record.vote_total_amount
     * @mbg.generated
     */
    public void setVoteTotalAmount(String voteTotalAmount) {
        this.voteTotalAmount = voteTotalAmount == null ? null : voteTotalAmount.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.create_timestamp
     *
     * @return the value of hpb_campaign_period_vote_record.create_timestamp
     * @mbg.generated
     */
    public Date getCreateTimestamp() {
        return createTimestamp;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.create_timestamp
     *
     * @param createTimestamp the value for hpb_campaign_period_vote_record.create_timestamp
     * @mbg.generated
     */
    public void setCreateTimestamp(Date createTimestamp) {
        this.createTimestamp = createTimestamp;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column hpb_campaign_period_vote_record.update_timestamp
     *
     * @return the value of hpb_campaign_period_vote_record.update_timestamp
     * @mbg.generated
     */
    public Date getUpdateTimestamp() {
        return updateTimestamp;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column hpb_campaign_period_vote_record.update_timestamp
     *
     * @param updateTimestamp the value for hpb_campaign_period_vote_record.update_timestamp
     * @mbg.generated
     */
    public void setUpdateTimestamp(Date updateTimestamp) {
        this.updateTimestamp = updateTimestamp;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table hpb_campaign_period_vote_record
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        HpbCampaignPeriodVoteRecord other = (HpbCampaignPeriodVoteRecord) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
                && (this.getVoteRound() == null ? other.getVoteRound() == null : this.getVoteRound().equals(other.getVoteRound()))
                && (this.getVoteRoundDescription() == null ? other.getVoteRoundDescription() == null : this.getVoteRoundDescription().equals(other.getVoteRoundDescription()))
                && (this.getVoteStage() == null ? other.getVoteStage() == null : this.getVoteStage().equals(other.getVoteStage()))
                && (this.getVoteStageDescription() == null ? other.getVoteStageDescription() == null : this.getVoteStageDescription().equals(other.getVoteStageDescription()))
                && (this.getSnapBlockNumber() == null ? other.getSnapBlockNumber() == null : this.getSnapBlockNumber().equals(other.getSnapBlockNumber()))
                && (this.getSnapBlockTimestamp() == null ? other.getSnapBlockTimestamp() == null : this.getSnapBlockTimestamp().equals(other.getSnapBlockTimestamp()))
                && (this.getVoteTotalAmount() == null ? other.getVoteTotalAmount() == null : this.getVoteTotalAmount().equals(other.getVoteTotalAmount()))
                && (this.getCreateTimestamp() == null ? other.getCreateTimestamp() == null : this.getCreateTimestamp().equals(other.getCreateTimestamp()))
                && (this.getUpdateTimestamp() == null ? other.getUpdateTimestamp() == null : this.getUpdateTimestamp().equals(other.getUpdateTimestamp()));
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table hpb_campaign_period_vote_record
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
        result = prime * result + ((getVoteRound() == null) ? 0 : getVoteRound().hashCode());
        result = prime * result + ((getVoteRoundDescription() == null) ? 0 : getVoteRoundDescription().hashCode());
        result = prime * result + ((getVoteStage() == null) ? 0 : getVoteStage().hashCode());
        result = prime * result + ((getVoteStageDescription() == null) ? 0 : getVoteStageDescription().hashCode());
        result = prime * result + ((getSnapBlockNumber() == null) ? 0 : getSnapBlockNumber().hashCode());
        result = prime * result + ((getSnapBlockTimestamp() == null) ? 0 : getSnapBlockTimestamp().hashCode());
        result = prime * result + ((getVoteTotalAmount() == null) ? 0 : getVoteTotalAmount().hashCode());
        result = prime * result + ((getCreateTimestamp() == null) ? 0 : getCreateTimestamp().hashCode());
        result = prime * result + ((getUpdateTimestamp() == null) ? 0 : getUpdateTimestamp().hashCode());
        return result;
    }


}